package com.yonyougov.devops.cruxcisupport.role;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonyougov.devops.cruxcisupport.util.CruxDevOpsIdGenerator;
import com.yonyougov.devops.fwc.core.entity.BasicEntity;
import com.yonyougov.devops.fwc.core.id.IdGenerator;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/***
 * t_role
 */
public class RoleEntity extends BasicEntity implements Serializable {

    /***
     * 主键
     */
    private BigInteger id;

    /***
     * 角色名称
     */
    private String roleName;

    /***
     * 角色类型
     */
    private Integer roleType;

    /***
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /***
     * 修改时间
     */
    private Date modifyTime;

    /***
     * 是否有效
     */
    private Boolean locked;


    /***
     * 获取主键
     *
     * @return 获取主键
     */
    public BigInteger getId() {
        return id;
    }

    /***
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(BigInteger id) {
        this.id = id;
    }

    /***
     * 获取角色名称
     *
     * @return 获取角色名称
     */
    public String getRoleName() {
        return roleName;
    }

    /***
     * 设置角色名称
     *
     * @param roleName 角色名称
     */
    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    /***
     * 获取角色类型
     *
     * @return 获取角色类型
     */
    public Integer getRoleType() {
        return roleType;
    }

    /***
     * 设置角色类型
     *
     * @param roleType 角色类型
     */
    public void setRoleType(Integer roleType) {
        this.roleType = roleType;
    }

    /***
     * 获取创建时间
     *
     * @return 获取创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /***
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /***
     * 获取修改时间
     *
     * @return 获取修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /***
     * 设置修改时间
     *
     * @param modifyTime 修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /***
     * 获取是否有效
     *
     * @return 获取是否有效
     */
    public Boolean getLocked() {
        return locked;
    }

    /***
     * 设置是否有效
     *
     * @param locked 是否有效
     */
    public void setLocked(Boolean locked) {
        this.locked = locked;
    }


    @Override
    public String toString() {
        return "RoleEntity{" +
                "id=" + id +

                ",roleName=" + roleName +

                ",roleType=" + roleType +

                ",createTime=" + createTime +

                ",modifyTime=" + modifyTime +

                ",locked=" + locked +
                '}';
    }

    //<!--用户自定义代码开始-->
    public IdGenerator idGenerator() {
        return new CruxDevOpsIdGenerator();
    }
    //<!--用户自定义代码结束-->
}
